# Title: Euclid                		        Filename: EuclidAlan.s
# Author: Garcia Perez Alan		            Date: 16/Marzo/2017
# Description: Máximo comun divisor.
# Input: -
# Output: Maximo comun divisor
 
 #Codigo
 
 @r1 Espera el primer
 @r0 Espera el segundo
 
 .section       .data
 vals:
     .long 6099, 2166
.section        .text
.globl  _start

_start:
   ldr r2, =vals                 @Prepara a r1 para la variable
   ldr r1, [r2]                  @Carga el primer numero en variable r1
   ldr r0, [r2, #4]              @Carga el segundo numero en variable r0
   
#Data Segment
gcd:
cmp r0,r1                    @Va a comparar ambas variables (r0 y r1)
subgt r0,r0,r1               @Si r0 es mayor a r1 entonces r0=r0-r1
sublt r1,r1,r0               @Si r0 es menor r1 entonces r1 = r1 - r0
bne gcd                      @Si r0 es diferente a r1 entonces se repite

mov r7,$1                  @Prepara salida
svc $0                     @Se activa el kernel
   
.end
